package cn.assumejson.springframework.aop;

import cn.assumejson.springframework.aop.aspectj.TruePointcut;

/**
 * 定义切入点
 *
 * @author Mr. Li
 * @version 1.0
 * @since 1.0 2021/12/2 13:17
 */
public interface Pointcut {
    /**
     * Return the ClassFilter for this pointcut.
     *
     * @return the ClassFilter (never {@code null})
     */
    ClassFilter getClassFilter();

    /**
     * Return the MethodMatcher for this pointcut.
     *
     * @return the MethodMatcher (never {@code null})
     */
    MethodMatcher getMethodMatcher();

    TruePointcut TRUE = TruePointcut.INSTANCE;

}
